1. Technical Field
The present disclosure relates to electronic technology, and more particularly, an apparatus and method of processing cyclic codes.
2. Description of Related Art
An error-correcting code (ECC) or forward error correction (FEC) code is a system of adding redundant data, or parity data, to a message, such that it can be recovered by a receiver even when a number of errors (up to the capability of the code being used) were introduced, either during the process of transmission, or on storage. Since the receiver does not have to ask the sender for retransmission of the data, a back-channel is not required in forward error correction, and it is therefore suitable for simplex communication such as broadcasting. Error-correcting codes are frequently used in lower-layer communication, as well as for reliable storage in media such as CDs, DVDs, and dynamic RAM.
Error-correcting codes are usually distinguished between convolutional codes and block codes:                Convolutional codes are processed on a bit-by-bit basis. They are particularly suitable for implementation in hardware, and the Viterbi decoder allows optimal decoding.        Block codes are processed on a block-by-block basis. Early examples of block codes are repetition codes, Hamming codes and multidimensional parity-check codes. They were followed by a number of efficient codes, of which Reed-Solomon codes and BCH codes are the most notable ones due to their widespread use these days. Turbo codes and low-density parity-check codes (LDPC) are relatively new constructions that can provide almost optimal efficiency.        
All in all, any error-correcting code can be used for error detection. A code with minimum Hamming distance d can detect up to d−1 errors in a code word. Using error-correcting codes for error correction can be favorable if strict integrity guarantees are desired, and the capacity of the transmission channel can be modeled.